13 - Timing Analysis for Real-Time Systems [ID:2981]
50 von 479 angezeigt

This session is about, or this day is about cyberphysical systems or embedded systems

and I will talk about a particular aspect, namely how to verify that a system is reacting

in time.

So you all know lots of embedded real-time systems in your environment, in your car you

have a lot, in planes there are a lot of real-time systems and they have deadlines within which

they have to react.

And these deadlines, for instance in the automotive area go down to the microsecond level.

So there's not much time and sometimes considerable computation.

So the question is how to prove that the system reacts within its deadline.

So a particular emphasis in this talk is about multi-core platforms.

So the embedded systems industry goes over to multi-core platforms and they have certain

advantages.

But the problem is currently, I will come to that later, the problem is that there is

currently no sound method to verify the real-time behavior of multi-core platforms.

Okay this is the structure of the talk.

So I will first define the problem and then our solution in the single core case.

Then I will discuss which approaches currently people are taking, some approaches to deal

with the multi-core problem and in the end come up with some speculative ideas.

What could be a solution?

Okay the problem is in a simpler setting you have the following, you have a terminating

software which is supposed to produce a reaction upon a stimulus.

In the first setting a single core hardware platform on which you execute the software,

there's a given deadline for the reaction and you have to derive a guarantee for the

timeliness.

The system should under all circumstances react within the deadline.

Very simple problem.

There are lots of variants.

So this assumes uninterrupted execution but you may interrupt, you may preempt, you may

have tasks that share resources.

It will come to more complicated settings.

This is the simplest one and I will tell you what we did about this.

Okay so if you think about what it means to determine a safe bound on all execution times,

you could think of this as a graph problem, namely searching for longest paths in a appropriate

graph.

And I will show you that depending on the architecture there are different types of

graphs you have to search.

So I will show you that there are different types and that depending on the architecture

the size of these graphs is quite different and maybe quite huge.

So I will tell you how this huge state space originates and I will tell you how to cope

with it.

And decidability here, we don't solve the Turing, the holding problem.

Decidability is guaranteed.

Everything is finite but large and complexity is a problem.

So in the historic case, if you look at old books on embedded systems they say don't use

a processor with a cache pipeline speculation.

So use a simple microcontroller.

In those times you only had to look at the control flow path of the program and you looked

for the longest path in the control flow graph assuming that iteration and recursion are

bounded.

Okay, again we don't want to solve the holding problem.

Presenters

Prof. Dr. Reinhard Wilhelm Prof. Dr. Reinhard Wilhelm

Zugänglich über

Offener Zugang

Dauer

00:43:38 Min

Aufnahmedatum

2013-04-26

Hochgeladen am

2013-07-18 09:42:33

Sprache

de-DE

Einbetten
Wordpress FAU Plugin
iFrame
Teilen